/**
 * @description 站点管理统一入口文件
 * @author changyin@lzlu.com			
 * @version 0.1
 * @requires seajs,jquery
 */

define(function(require, exports, module) {
	
	//这里暂时没必要
	//依赖jquery
	//var $ = require('jquery');
	//var mustache = require('mustache');
	
	/**
	 * 所有模块的集合
	 */
	var MODULE_MAP = {
		//站点管理
		"mod~admin" : "./mod-admin"
	};
	
	
	/**
	 * 打印调试信息
	 * @param {Object} msg 要打印的信息
	 */
	function log(msg){
		var debug = true;
		if(debug && console && console.log){
			console.log(msg);
		}
	}
	
	
	/**
	 * 调用模块,约定所有的模块都有init为入口的方法
	 * @param {String} url 模块路径
	 * @param {Object} config 要传入模块的数据
	 */
	function exec(url,config){
		module.load(url,function(mod){
			if(mod && mod.init){
				mod.init.call(this,config);
			}else{
				log("模块'"+url+"'不存在或者没有init()入口");
			}	
		});
	}
	
	
	/**
	 * 调用模块
	 * @param {String|Array} mods 模块名称
	 * @param {Object} config 要传入模块的数据
	 */
	function use(mods,config){	
		if(Object.prototype.toString.call(mods) != '[object Array]'){
			mods = mods.split(",");
		}
		if(mods.length<1){
			log("没有调用任何模块");
			return;
		}
		//调用所有用户指定的模块
		for(var i=0; i<mods.length; i++){
			var url = MODULE_MAP[mods[i]];
			if(url){
				exec(url,config);
			}else{
				log("您调用的模块"+url+"不存在");
			}	
		}
	};
	
	
	
	
	
	/**
	 * @description 调用户指定的模块
	 */
	exports.use = use;
	

	
});



